The present invention relates to methods and apparatus for processing data within a computer network. More specifically, this invention relates to mechanisms for forwarding data sent from a first processing node within a public network via a private network to a second processing node in a same of different public network.
FIG. 1 is a diagrammatic representation of a network having typical private wireless network which utilizes both a private interior address space and an exterior public address space. A first customer device 102a initially connects with the wireless network 104 (e.g., by logging onto wireless network), such as AT &T Wireless®. The first customer 102b may then wish to access a first type of service provider 108a on a public network, such as America On-line (AOL)®, via the initial connection to the private network 104. The customer device 102a is then assigned a public address from the same address space as the customer's chosen service provider. In the illustrated example, customer 102a obtains address 192.1.1.1 which is part of the address space 192.1.1.0/24 used by the public network that includes service provider 108a. Each customer device which accesses the wireless network may select from a number of public service providers. For instance, a second customer device 102b may wish to access a second type of service provider 108b. This customer device 102b is assigned address 172.1.1.1 since this customer's selected service provider 108b is within address space 172.1.1.0/24.
When a customer device wishes to then communicate with its selected service provider via the wireless network 104, the customer device uses the allocated public address (instead of its private address). The customer device 102b can only communicate with its selected service provider 208b through private wireless network 104. Unfortunately, the customer device's public address is not recognizable by the private network 104 since the private network uses private address space 10.1.1.1/24.
Two approaches are typically used to handle such traffic through the wireless network. The first approach is tunneling. When data reaches the wireless network, it is encapsulated with the customer device's private addresses which is then recognizable within the private network 104. Before the data leaves the wireless network, the data is decapsulated. This approach requires significant overhead for encapsulating and decapsulating the data, effectively reducing the usable bandwidth through the wireless network 104. A second approach is referred to as “route inject.” In this approach, each router within the private wireless network populates routing tables based on traffic sent throughout the private wireless network. In other words, the routes learned by the edge routers (e.g., 103 or 106) for outside public nodes must be propagated to all of the routers which form part of private wireless network 104. Since private networks include an increasingly large number of internal routers, this approach may require significant overhead in the task of populating each router's routing tables.
Accordingly, there is a need for improved mechanisms for handling data sent from a public network to a same or other public network via a private network.